package com.modebing.activiti7.service;

import org.activiti.engine.history.HistoricProcessInstance;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.runtime.ProcessInstance;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.Map;

public interface ActivitiService {

    /**
     * 部署流程
     */
    String deployProcess(MultipartFile file, String deploymentName);

    /**
     * 启动流程实例
     */
    String startProcess(String businessKey, Map<String, String> variables);

    /**
     * 完成任务
     */
    String completeTask(String businessKey, Map<String, Object> variables);

    /**
     * 查询流程步骤及状态
     */
    Map<String, Object> queryProcessSteps(String businessKey);

    /**
     * 获取流程实例图片
     */
    void getInstanceDiagramByBusinessKey(String businessKey, HttpServletResponse response);
}
